import { Inventory } from './goods'

export namespace Retail {
  export interface AdjustPrice {
    billNo: string
    checkFlag: boolean
    checkFlagName: string
    checkTime: any
    checkerUserId: any
    corpId: number
    createTime: string
    detailList: any
    effectiveDate: string
    effectiveStore: any
    expiringDate: string
    id: number
    storeId: number
    type: number
    updateTime: any
    remark: string
  }
  export interface DiscountDetailItem {
    barcode: string
    corpId: any
    goodsId: number
    goodsName: string
    id: number
    newSalePrice: number
    oldSalePrice: number
    orderId: number
    productName: string
    productsId: number
    sn: string
    storeId: number
    unitName: string
    remark: string
  }
  export interface AdjustPriceDetail {
    billNo: string
    checkFlag: boolean
    checkFlagName: string
    checkTime: any
    checkerUserId: any
    corpId: number
    createTime?: string
    detailList: Inventory.ResGoodsList[]
    effectiveDate: string
    effectiveStore: any
    expiringDate: string
    id: number
    storeId: number
    type: number
    updateTime?: any
    remark: string
  }
}

export namespace Promotion {
  export interface DiscountLimit {
    activityInfoName: string // 活动名称
    activityBeginDate: string // 活动开始日期（格式：YYYY-MM-DD HH:mm:ss）
    activityEndDate: string // 活动结束日期（格式：YYYY-MM-DD HH:mm:ss）
    activityBeginTime: string // 活动开始时间（仅周期类型非0时有效）
    activityEndTime: string // 活动结束时间（仅周期类型非0时有效）
    activityInfoCode: string // 活动编码（空字符串）
    activityInfoId: number // 活动ID
    activityTypeId: number // 活动类型（1=限时特价）
    activitySubTypeId: number // 活动子类型（2=限时折扣）
    activitySubTypeName: string | null // 活动子类型名称（可能为null）
    weekdayType: 0 | 1 | 2 | 3 // 周期类型（0=按时间范围）
    weekdays: string // 选择的日内容（空字符串）
    onlyVip: 0 | 1 | 2 // 适用人群（0=全部）
    vipTypeIds: string // 会员等级ID（空字符串）
    limitBuyType: 0 | 1 // 购买限制类型（0=不限）
    limitBuyQty: number // 限制购买数量
    exclusion: boolean // 是否与其他优惠互斥（false=是，true=否）
    integral: boolean // 是否累计积分（false=是，true=否）
    goodsType: 0 | 1 | 2 // 参与商品类型（2=指定商品）
    noGoodsType: 0 | 1 | 2 // 不参与商品类型（0=无）
    discountRate: number // 统一折扣（5=5折）
    discountType: 0 // 折扣类型（固定0）
    branchList: null // 指定门店列表（null=无）
    branchType: 0 | 1 | 2 // 门店类型（固定0）
    excludeBranchList: null // 排除门店列表（null=无）
    goodsList: null // 指定商品列表（null=无）
    excludeGoodsList: null // 排除商品列表（null=无）
    sortList: null // 指定分类列表（null=无）
    excludeGoodsSortList: null // 排除分类列表（null=无）
    channelId: number // 渠道ID（1=线下）
    channelName: string // 渠道名称
    checkFlag: boolean // 审核标记（false=待审核）
    checkFlagName: string // 审核状态名称
    corpId: string | null // 企业ID（可能为null）
    createBy: string // 创建人
    createTime: string // 创建时间
    msgContent: string // 消息内容（空字符串）
    msgSendTime: string | null // 消息发送时间（可能为null）
    msgTemplateId: string | null // 消息模板ID（可能为null）
    notice: boolean // 是否通知（false=否）
    remark: string | null // 备注（可能为null）
    status: 0 | 1 | 2 // 活动状态（0=未开始）
    statusName: string // 状态名称
    storeId: string | null // 门店ID（可能为null）
    templateType: 0 // 模板类型（固定0）
    tenantId: number // 租户ID
    updateBy: string // 更新人（空字符串）
    updateTime: string // 更新时间
    lineRespList: {
      sn: number
      condition1: number
      condition2: number
    }[]
  }
  export interface DiscountLimitDetail {
    branchType: 0 | 1 | 2 // 折扣类型（固定0）
    activityInfoName: string // 活动名称
    activityBeginDate: string // 活动开始日期（格式：YYYY-MM-DD HH:mm:ss）
    activityEndDate: string // 活动结束日期（格式：YYYY-MM-DD HH:mm:ss）
    activityBeginTime: string // 活动开始时间（仅周期类型非0时有效，格式：HH:mm:ss）
    activityEndTime: string // 活动结束时间（仅周期类型非0时有效，格式：HH:mm:ss）
    activityTypeId: number // 活动类型（1=限时特价）
    activitySubTypeId: number // 活动子类型（2=限时折扣）
    weekdayType: number // 周期类型（0=按时间范围，1=按天，2=按周，3=按月）
    weekdays: string[] // 选择的日内容（逗号分隔字符串）
    onlyVip: 0 | 1 | 2 // 适用人群（0=全部，1=普通用户，2=仅会员）
    vipTypeIds: any[] // 仅会员时选择的会员等级ID（逗号分隔字符串）
    limitBuyType: 0 | 1 // 购买限制类型（0=不限，1=每人每单每个商品限购）
    limitBuyQty: number // 限制购买数量
    exclusion: 0 | 1 // 是否与其他优惠互斥（0=是，1=否）
    integral: 0 | 1 // 是否累计积分（0=是，1=否）
    goodsType: 0 | 1 | 2 // 参与商品类型（0=全部，1=指定分类，2=指定商品）
    noGoodsType: 0 | 1 | 2 // 不参与商品类型（0=无，1=指定分类，2=指定商品）
    discountRate: number // 统一折扣（如5.00=5折）
    branchList: BranchItem[] // 指定门店列表
    excludeBranchList: BranchItem[] // 排除门店列表
    goodsList: GoodsItem[] // 指定商品列表
    excludeGoodsList: GoodsItem[] // 排除商品列表（null=无）
    sortList: SortItem[] // 指定分类列表
    excludeGoodsSortList: SortItem[] // 排除分类列表（null=无）
    channelId: 1 | 2 | 0
    remark: string
    weekdaysObject: number[]
    vipTypeIdsObject: number | string[]
    lineRespList: {
      sn: number
      condition1: number
      condition2: number
    }[]
  }
  interface BranchItem {
    storeId: number // 门店ID
    branchName: string // 门店名称
  }
  export interface GoodsItem {
    spuId: string // 商品ID
    spuName: string // 商品名称
    spuBarcode: string // 条形码
    pdtSpuSpecId: number // 规格ID
    saPrice: number // 零售价
    price: number // 折扣值
    poPrice: number // 采购价
  }
  interface SortItem {
    itemSortId: string // 分类ID
    itemSortName: string // 分类名称
    price: number
  }
}
